<h1>Espace Client</h1>

<script>
    //se lance au chargement de la page
    var dureeGlobale;
    var minutesAbonnement=30; /// ajouter
    var redirect=0;
    var show = 0;
    var tab=new Array;
    $(function(){
        var $_GET = {};
        document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function () {
        function decode(s) {
            return decodeURIComponent(s.split("+").join(" "));
        }
        $_GET[decode(arguments[1])] = decode(arguments[2]);
        }); 
        var param=($_GET["param"]);
        if(param=='show'){
            redirect=1;
            shows_abonnements();
        }
        $( "#datenaiss" ).datepicker();
        $( "#datenaiss" ).datepicker( "option", "dateFormat","dd/mm/yy");
        modifier(true);
        var isAboDisplay = false;    
        shows_utilisations()
        $( "#form_utilisations" ).dialog({
            autoOpen: false,
            resizable: false,
            height:400,
            width:650,
            modal: true
         });
        //$( "#datenaiss" ).datepicker();
        //$( "#datenaiss" ).datepicker( "option", "dateFormat","dd/mm/yy");
        //modifier(true);
        //shows_abonnements()
        $.getJSON('app/ajax/ajax_getGratuit.php', function(result) {
            minutesAbonnement=result.Gratuit;
        });
    });
    
//function shows_abonnements(){
//    if(show=='0'){
//        liste_abonnements();
//    }else{
//        $('#liste_abonnements').hide();
//        show='0';
//    }
//}   
    
function shows_abonnements(){
        show=1;
        $.getJSON('app/ajax/ajax_getAbonnements.php', function(data) {
            $("#liste_abonnements").html("<thead>"
                +"<tr>"
                +"<td>ID</td>"
                +"<td>Nom</td>"
                +"<td>Description</td>"
                +"<td>Prix</td>"
                +"<td>Durée</td>"
                +"<td></td>"
                +"</tr>"
                +"</thead>"
            );
            $.each(data, function(i, item) {
                $("#liste_abonnements").append(
                    "<tr>"
                    +"<td>"+item.IdAbonnement+"</td>"
                    +"<td>"+item.Nom+"</td>"
                    +"<td>"+item.Description+"</td>"
                    +"<td>"+item.Prix+"€</td>"
                    +"<td>"+item.Duree+"j</td>"
                    +"<td><a class=\"btn\" onclick=\"getAbo("+item.IdAbonnement+")\">S'abonner</a>"
                    +"</tr>"
                );
            });
            $('#liste_abonnements').dataTable({
                "bDestroy": true,
                "oLanguage": {
                    "sLengthMenu": "",
                    "sZeroRecords": "",
                    "sInfo": "",
                    "sInfoEmpty": "",
                    "sInfoFiltered": "",
                    "oPaginate": {
                        "sFirst": "",
                        "sLast": "",
                        "sNext": "",
                        "sPrevious": ""
                    },
                    "sSearch": "Reherche rapide"
                }
            });
        });
        setTimeout(shows_abonnements, 60000);
    }

    function getAbo(id){
        var data = "id="+id;
        $.ajax({
            type: 'POST',
            url: 'app/ajax/ajax_setAbonnement.php',
            data: data,
            success: function(result){
                if(redirect==0)
                    document.location.reload();
                else
                    url="/easylib/index.php?route=user&action_user=map&action=cache";
                    window.location.replace(url);
            }
        });
    }
    
    function shows_utilisations(){
        var j=0;
        $.getJSON('app/ajax/ajax_getTrajetsUtilisateur.php', function(data) {
            $("#liste_utilisations").html("<thead>"
                +"<tr>"
                +"<td>ID</td>"
                +"<td>Date</td>"
                +"<td>Duree</td>"
                +"<td>Prix</td>"
                +"<td>Description</td>"
                +"<td>Facture</td>"
                +"</tr>"
                +"</thead>"
            );
            $.each(data, function(i, item) {
                j++;
                var dateFormatDebut = formaterDate(item.DateDebut,0);
                var dateFormatFin = formaterDate(item.DateFin,0);
                var duree = formaterDate(item.DateDebut,item.DateFin);
                var prixCalcule = calculPrix(dureeGlobale);
                var tab2 = [dateFormatDebut,dateFormatFin,item.FkStationDepart,item.FkStationArrivee,prixCalcule,duree];
                tab[item.IdUtilisation]=tab2;
               
                $("#liste_utilisations").append(
                    "<tr>"
                    +"<td>"+j+"</td>"
                    +"<td>"+dateFormatDebut+"</td>"
                    +"<td>"+duree+"</td>"
                    +"<td>"+prixCalcule+'€'+"</td>"
                    +"<td>"+"<a href='javascript:detailUtilisation("+item.IdUtilisation+")'>Voir détails</a>"+"</td>"
                    +"<td>"+"<a href='javascript:genFacture("+item.IdUtilisation+")'>Generer</a>"+"</td>"
                    +"</tr>"
                );
            });
            $('#liste_utilisations').dataTable({
                "bDestroy": true,
                "oLanguage": {
                    "sLengthMenu": "Voir _MENU_ résultats par page",
                    "sZeroRecords": "Aucun résultat trouvé - Désolé",
                    "sInfo": "_START_ - _END_ sur _TOTAL_",
                    "sInfoEmpty": "Showing 0 to 0 of 0 records",
                    "sInfoFiltered": "(filtered from _MAX_ total records)",
                    "oPaginate": {
                        "sFirst": "Premier",
                        "sLast": "Dernier",
                        "sNext": "Suivant",
                        "sPrevious": "Précedent"
                    },
                    "sSearch": "Rechercher dans les trajets"
                }
            });
        });
        setTimeout(shows_utilisations, 60000);
    }

function formaterDate(d,d2){
    var jour=d.substring(8,10);
    var mois=d.substring(5,7);
    var annee=d.substring(0,4);
    var heure=d.substring(11,19);
    if(d2==0)
        return('Le '+jour+'/'+mois+'/'+annee+' à '+heure);
    else{
        var h=d.substring(11,13);
        var m=d.substring(14,16);
        var s=d.substring(17,19);
        var jour2=d2.substring(8,10);
        var mois2=d2.substring(5,7);
        var annee2=d2.substring(0,4);
        var h2=d2.substring(11,13);
        var m2=d2.substring(14,16);
        var s2=d2.substring(17,19);
        var td1=parseInt(s)+parseInt(m)*60+parseInt(h)*60+parseInt(jour)*86400+parseInt(mois)*2592000+parseInt(annee)*31536000;
        var td2=parseInt(s2)+parseInt(m2)*60+parseInt(h2)*60+parseInt(jour2)*86400+parseInt(mois2)*2592000+parseInt(annee2)*31536000;
        var tmp=td2-td1;
        dureeGlobale=tmp;
        var diff = {} 
        var j3=Math.floor(tmp/86400);
        var result=tmp%86400;
        var h3=Math.floor(tmp/3600);
        result=tmp%3600;
        var m3=Math.floor(tmp/60);
        result=tmp%60;
        var s3=result%60;var str='';
        if(j3>0)
            str=str+j3+'j ';
        if(h3>0)
            str=str+h3+'h ';
        if(m3>0)
            str=str+m3+'m ';
        if(s3>0)
            str=str+s3+'s';
        return(str);
    }
}

function calculPrix(dg){
    var demiHeures = Math.floor(dg/(minutesAbonnement*60));
    var prix=0;
    if(demiHeures>0){
        if(demiHeures>2)
            prix=3+((demiHeures-2)*4);
        else if(demiHeures==2)
            prix=3;
        else
            prix=1;
    }  
    return prix;
}    

function detailUtilisation(id){
    $.getJSON('app/ajax/ajax_getUneUtilisation.php?id='+id, function(result) {
        $("#formulaire_name").html("Détails du trajet");
        $("#stationDep").val(result.sDebut);
        $("#dateDep").val(result.dDebut);
        $("#stationFin").val(result.sFin);
        $("#dateFin").val(result.dFin);
        $("#form_utilisations").dialog('open');
    });
}

function modifier(bool){
    if(bool){
        $('#submit').hide();
        $('#passpass').hide();
    }else{
        $('#submit').show();
        $('#passpass').show();
    }
    $("#nom").attr("disabled",bool);
    $("#prenom").attr("disabled",bool);
    $("#adresse").attr("disabled",bool);
    $("#datenaiss").attr("disabled",bool);
    $("#pass").attr("disabled",bool);
}

function genFacture(id){
    url2="/easylib/app/ajax/gen_facture.php?IdUtilisation="+id+"&DateDebut="+tab[id][0]+"&DateFin="+tab[id][1]+"&StationDepart="+tab[id][2]+"&StationArrivee="+tab[id][3]+"&PrixCalcule="+tab[id][4]+"&Duree="+tab[id][5];
    window.location.replace(url2);
}
</script>
<div id="infosclient" style="width:500px; margin-top:50px; border-width: 1px; border-style: solid; border-color: #000000; padding: 15px">
    <h3>Vos informations</h3>
    <?php Atomik::needed('propel');
        $abonne = TabAbonneQuery::create()->filterByEmail($_SESSION["user_login"])->findOne();
        $nom=$abonne->getNom();
        $prenom=$abonne->getPrenom();
        $adresse=$abonne->getAdresse();
        $datenaiss=$abonne->getDateNaissance($format = 'd-m-Y');
        $pwd=$abonne->getPass();
        $email=$abonne->getEmail();
        $ida=$abonne->getIdAbonne();
        $dateins=$abonne->getDateInscription();
        $lastvisit=$abonne->getLastVisit();
        echo("<form method=\"post\" action=\"#\">");
        echo("<br/>Nom : <input type=\"text\" name=\"nom\" id=\"nom\" value='$nom'/>");
        echo("<br/>Prenom : <input type=\"text\" name=\"prenom\" id=\"prenom\" value='$prenom'/>");
        echo("<br/>Date de naissance : <input type=\"text\" name=\"datenaiss\" id=\"datenaiss\" value='$datenaiss'/>");
        echo("<br/>Adresse : <input type=\"text\" name=\"adresse\" id=\"adresse\" value='$adresse'/>");
        echo("<br/>Mot de passe : <input type=\"password\" name=\"pass\" id=\"pass\" value='$pwd'/>");
        echo("<div id='passpass'>Confirmation du mot de passe : <input type=\"password\" name=\"pass2\" id=\"pass2\" /></div>");
        echo("<input type=\"hidden\" name=\"email\" id=\"email\" value='$email'/>");
        echo("<input type=\"hidden\" name=\"ida\" id=\"ida\" value='$ida'/>");
        echo("<input type=\"hidden\" name=\"dateins\" id=\"dateins\" value='$dateins'/>");
        echo("<input type=\"hidden\" name=\"lastvisite\" id=\"lastvisite\" value='$lastvisit'/>");
    ?>
    <input type="hidden" name="action" id="action" value="modification">
    <br/>Mode modification : 
    non <input type="radio" name="choix[]" value="non" checked="checked" onclick="modifier(true)">
    oui <input type="radio" name="choix[]" value="oui" onclick="modifier(false)">
    <br/><br/><input type="submit" id="submit" value="Sauvegarder"> 
</div>

<div id="minutesGratuites" style="width:500px; margin-top:50px; border-width: 1px; border-style: solid; border-color: #000000; padding: 15px">
    <h3>Vos gains </h3>
    <?php echo"Grace aux stations vélibs' +, vous avez accumulé ".$abonne->getMinuteBonus()." minutes bonus";?>
</div>

<div id="infosabonnements" style=" margin-top:50px; border-width: 1px; border-style: solid; border-color: #000000; padding: 15px">
    <h3>Gestion de votre abonnement</h3>
    <hr>
    <?php
    $abonne = TabAbonneQuery::create()->filterByEmail($_SESSION["user_login"])->findOne();
    $isAbonne=  TabLicenceQuery::create()->filterByFkAbonne($abonne->getIdAbonne())->orderByDateFin(Criteria::DESC)->findOne();
    if(count($isAbonne)>0){
        $d1=date("Y-m-d H:i:s");
        if(strcmp($isAbonne->getDateFin($format="Y-m-d H:i:s"),$d1)>0){
            $abo = TabAbonnementQuery::create()->filterByIdAbonnement($isAbonne->getFkAbonnement())->findOne();
            echo('Vous disposez actuellement dun abonnement : '.$abo->getNom().' valable jusqu\'au :'.$isAbonne->getDateFin($format='d-m-Y H:i:s')); 
        }else
    echo("Vous n'avez aucun abonnement en cours. <a href=\"javascript:shows_abonnements()\">Cliquez ici pour voir la liste des abonnements disponibles</a><br/><br/>");
    }else
    echo("Vous n'avez aucun abonnement en cours. <a href=\"javascript:shows_abonnements()\">Cliquez ici pour voir la liste des abonnements disponibles</a><br/><br/>");
    ?>
    <table id="liste_abonnements" style="width: 100%"></table>
</div>

<div id="infosutilisations" style=" margin-top:50px; border-width: 1px; border-style: solid; border-color: #000000; padding: 15px">
    <h3>Vos utilisations</h3>
    <hr>
    <table id="liste_utilisations" style="width: 100%"></table>
    <br/>
</div>
<br/><br/>
<div id="form_utilisations">
    <h3 id="formulaire_name"></h3>
    <input type="hidden" id="id">
    <label>Station de départ</label><input type="text" id="stationDep" style="width:500px" readonly="readonly">
    <label>Date de départ</label><input type="text" id="dateDep" onFocus="this.blur()" readonly="readonly">
    <label>Station d'arrivée</label><input type="text" id="stationFin" style="width:500px" readonly="readonly">
    <label>Date d'arrivée</label><input type="text" id="dateFin" readonly="readonly">
    <br />
    <span id="button"></span>
</div>
